import java.util.ArrayList;
import java.util.Collections;

public class Poker {
    //通过一个类，表示一张牌
    class Card {
        public String suit;//花色
        public String value;//牌值

        public Card(String suit, String value) {
            this.suit = suit;
            this.value = value;
        }

        //弄一个toString方法，方便打印
        @Override
        public String toString() {
            return "("+suit+value+")";
        }
    }

    //通过createDeck方法，创建一副牌（不含大小王),用ArrayList存储
    public ArrayList<Card> createDeck() {
        ArrayList<Card> deck = new ArrayList<Card>();
        //创建花色
        String[] suits = {"♠", "♥", "♦", "♣"};
        //创建牌值
        String[] values = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
        //创建牌
        for (String suit : suits) {
            for (String value : values) {
                deck.add(new Card(suit, value));
            }
        }
        return deck;
    }

    public static void main(String[] args) {
        //通过createDeck方法，创建一副牌
        ArrayList<Card> deck = new Poker().createDeck();
        //打印这副牌
        System.out.println(deck);
        //洗牌
        //标准库有一个现成的方法，shuffle，可以直接用,打乱ArrayList中的顺序
        Collections.shuffle(deck);
        //打印洗牌后的牌
        System.out.println(deck);

    }
}
